/**
 * 
 */
package niuke;

import java.util.Scanner;

/**
 * @author zhongfang
 *
 */
public class 无聊的牛牛和羊羊 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int m = scanner.nextInt();// 不无聊的
		scanner.close();
		int sum = n + m;
		double[][] dp = new double[sum + 1][m + 1];
		for (int i = 0; i < dp.length; i++) {
			dp[i][0] = 0;
		}
		for (int i = sum; i >= 0; i--) {
			for (int j = 1; j <= m; j++) {
				double fenmu = ((double) i + j) * (i + j - 1) / 2;
				// System.out.println("fenmu " + fenmu);
				double d1 = i * j / fenmu;
				double d3 = j > 1 ? j * (j - 1) / fenmu / 2 : 0;// 两个j
				double d2 = i > 1 ? (i * (i - 1) / fenmu / 2) : 0;
				// System.out.println("d3 " + d3);
				dp[i][j] = (d1 * ((i != sum && j != 0) ? dp[i + 1][j - 1] + 1 : 0)
						+ d2 * ((i < sum - 1 && j > 1) ? dp[i + 2][j - 2] + 1 : 0) + d3) / (1 - d3);
				System.out.println(i + " " + j + " " + dp[i][j]);
			}
		}
		System.out.println(dp[n][m]);
	}

}
